package xyz.ddlnt.serviceusr.service;

import com.baomidou.mybatisplus.extension.service.IService;
import xyz.ddlnt.model.dto.PageDTO;
import xyz.ddlnt.model.dto.PostFavRecordDTO;
import xyz.ddlnt.model.dto.UserContentInteractionDTO;
import xyz.ddlnt.model.entity.PostFavRecord;
import xyz.ddlnt.model.vo.PostRecordVO;

import java.util.List;

/**
 * @author ZZULI_SE 210910
 * @data 2025/5/25 17:32
 */
public interface PostFavRecordService extends IService<PostFavRecord> {
    /**
     * 判断用户是否收藏过帖子
     * @param userContentInteractionDTO
     * @return
     */
    Boolean isFavorite(UserContentInteractionDTO userContentInteractionDTO);

    /**
     * 收藏帖子
     * @param postFavRecordDTO
     * @return
     */
    Boolean addFav(PostFavRecordDTO postFavRecordDTO);

    /**
     * 取消收藏帖子
     * @param userContentInteractionDTO
     * @return
     */
    Boolean removeFav(UserContentInteractionDTO userContentInteractionDTO);

    /**
     * 获取用户收藏的帖子列表
     * @param pageDTO
     * @return
     */
    List<PostRecordVO> getFavList(PageDTO pageDTO);
}
